#!/bin/bash

# 设置集群巡检定时任务的脚本

# 获取脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
CLUSTER_INSPECTION_SCRIPT="$SCRIPT_DIR/cluster-inspection.py"
PYTHON_PATH=$(which python3)

# 检查cluster-inspection.py是否存在
if [ ! -f "$CLUSTER_INSPECTION_SCRIPT" ]; then
    echo "错误: 未找到集群巡检脚本 $CLUSTER_INSPECTION_SCRIPT"
    exit 1
fi

# 检查python3是否存在
if [ -z "$PYTHON_PATH" ]; then
    echo "错误: 未找到python3"
    exit 1
fi

# 定义定时任务（每天早上9点执行）
CRON_JOB="0 9 * * * $PYTHON_PATH $CLUSTER_INSPECTION_SCRIPT"

# 创建临时文件
TEMP_CRON=$(mktemp)

# 获取当前的crontab
crontab -l > "$TEMP_CRON" 2>/dev/null

# 检查是否已存在相同的任务
if grep -F "$CLUSTER_INSPECTION_SCRIPT" "$TEMP_CRON" > /dev/null; then
    # 如果存在，先移除旧的任务
    grep -vF "$CLUSTER_INSPECTION_SCRIPT" "$TEMP_CRON" > "$TEMP_CRON.tmp"
    mv "$TEMP_CRON.tmp" "$TEMP_CRON"
fi

# 添加新的定时任务
echo "$CRON_JOB" >> "$TEMP_CRON"

# 设置新的crontab
crontab "$TEMP_CRON"

# 清理临时文件
rm "$TEMP_CRON"

echo "定时任务设置成功！"
echo "任务详情: $CRON_JOB"
echo "每天早上9点将自动执行集群巡检"